﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BussinessLogic.Exercise;

namespace BussinessLogic.Models
{
    public class ActivityProtocol
    {
        public int StudyID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }

        public int ProtocolActivityId { get; set; }
        public int ProtocolSessionId { get; set; }
        public int ProtocolGroupId { get; set; }

        public int RemainingCrtActivity { get; set; }
        public int RemainingCrtSession { get; set; }
        public int RemainingCrtGroup { get; set; }


        public bool IsForApproval { get; set; }
    }

    public class ActivityProtocolQN : ActivityProtocol
    {
        public int ActivityID { get; set; }
        public List<DailyQuestion> Questions { get; set; }
    }

    public class ActivityProtocolMatrix : ActivityProtocol
    {

        public List<string> Neutrals { get; set; }

        public List<string> Negatives { get; set; }

        public int TrialCount { get; set; }

        public List<MatrixTrial> Trials { get; set; }

        public int ActivityID { get; set; }
    }

    public class MatrixTrial
    {
        public List<MatrixPhoto> photos { get; set; }
        public int Reaction { get; set; }
        public string NeutralPhoto { get; set; }
    }

    public class MatrixPhoto
    {
        public int PhotoIndex { get; set; }
        public PictureType PhotoType { get; set; }
    }

    public class ActivityProtocolExercise : ActivityProtocol
    {
        public int ActivityID { get; set; }
        public List<string> UpPhotos { get; set; }
        public List<string> DownPhotos { get; set; }
        public int PictureTime { get; set; }
        public int CrossNumberTime { get; set; }
        public int AcomodationTrials { get; set; }

        public List<ExerciseTrial> Trials { get; set; }

        public List<string> Neutrals { get; set; }
        public List<string> Negatives { get; set; }
        public List<ExerciseTrial> TrainingTrials { get; set; }

        public bool FinalSession { get; set; }

        public int FixationTrial { get; set; }
    }

    public class ExerciseInfoResult
    {
        public int ActivityID { get; set; }

        public int ProtocolActivityId { get; set; }
        public int ProtocolSessionId { get; set; }
        public int ProtocolGroupId { get; set; }

        public int RemainingCrtActivity { get; set; }
        public int RemainingCrtSession { get; set; }
        public int RemainingCrtGroup { get; set; }
    }

}
